import java.util.Scanner;

public class Demo2_8 {
    //递归求解汉诺塔问题
    public static void move(char pos1, char pos2) {
        System.out.println(pos1 + "->" + pos2);
    }

    /*
    k 盘子数量
    pos1 起始位置
    pos2 中转位置
    pos3 目标位置
     */
    public static void hanio(int k, char pos1, char pos2, char pos3) {
        if (k == 1) {
            move(pos1, pos3);
        } else {
            hanio(k - 1, pos1, pos3, pos2);
            move(pos1, pos3);
            hanio(k - 1, pos2, pos3, pos1);
        }
    }

    //递归求解汉诺塔问题
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个整数：");
        int n = scan.nextInt();
        hanio(n, 'A', 'B', 'C');
    }
}
